package com.tiancheng.trade.settlement.model.settlement;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.tiancheng.trade.settlement.enums.CheckDetailCheckDescEnum;
import com.tiancheng.trade.settlement.enums.CheckDetailDifferentTypeEnum;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 交易资金对账明细表
 *
 * @TableName z_settle_detail
 */
@TableName("z_settle_detail")
@Data
@NoArgsConstructor
public class SettleDetail implements Serializable {
    /**
     * 主键
     *
     * @mbg.generated 2021-03-26 14:29:14
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 对账编号
     *
     * @mbg.generated 2021-03-26 14:29:14
     */
    private String checkCode;

    /**
     * 主订单号
     *
     * @mbg.generated 2021-03-26 14:29:14
     */
    private String orderId;

    /**
     * 子订单号
     *
     * @mbg.generated 2021-03-26 14:29:14
     */
    private String subOrderId;

    /**
     * 支付订单号
     *
     * @mbg.generated 2021-03-26 14:29:14
     */
    private String paymentId;

    /**
     * 支付流水号
     *
     * @mbg.generated 2021-03-26 14:29:14
     */
    private String flowId;

    /**
     * 子订单流水号
     *
     * @mbg.generated 2021-03-26 14:29:14
     */
    private String subOrderFlowId;

    /**
     * 差异备注
     *
     * @mbg.generated 2021-03-26 14:29:14
     */
    private String exceptionDesc;

    /**
     * 创建时间
     *
     * @mbg.generated 2021-03-26 14:29:14
     */
    private LocalDateTime created;

    /**
     * 更新时间
     *
     * @mbg.generated 2021-03-26 14:29:14
     */
    private LocalDateTime updated;

    /**
     * 对账描述
     *
     * @see CheckDetailCheckDescEnum
     */
    private Integer checkDesc;
    /**
     * 差异类型
     *
     * @see CheckDetailDifferentTypeEnum
     */
    private Integer differentType;
    /**
     * 差异金额
     */
    private Long differentAmount;
    /**
     * 应清分日期
     */
    private LocalDate targetClearDate;
    /**
     * 实际清分日期
     */
    private LocalDate actualClearDate;

    /**
     * 清出金额
     */
    private Long clearAmount;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table z_settle_detail
     *
     * @mbg.generated 2021-03-26 14:29:14
     */
    private static final long serialVersionUID = 1L;
}